home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 20 / 9 / DISK2092.ZIP / RBBS-UTL.ZIP / UTIL / RECONFIG.BAS < prev    next >
BASIC Source File  |  1990-02-04  |  44KB  |  1,342 lines

  1.    DECLARE FUNCTION StrTok$(Source$,Delim$)
  2.    DECLARE SUB box (ybox%, xbox%, boxrows%, boxcols%, style%)   'draw a box
  3.    DECLARE SUB Line17 (HelpText$)
  4.    DEFINT A-Z
  5.    CLEAR
  6.    CLS
  7.    DIM FILES.FUNCTION(8)                         ' file menu security
  8.    DIM GLOBAL.FUNCTION(4)                        ' Global commands security
  9.    DIM HELP$(9)                                  ' Help file names
  10.    DIM LIBRARY.FUNCTION(7)                       ' Library commands security
  11.    DIM MAIN.FUNCTION(18)                         ' Main menu security
  12.    DIM MENU$(6)                                  ' Menu file names
  13.    DIM SYSOP.FUNCTION(7)                         ' Sysop menu security
  14.    DIM DNLD$(99)                                 ' Download Sub-Dirs
  15.    DIM UTILITY.FUNCTION(12)                      ' Utility menu security
  16.    CONST FALSE = 0
  17.    CONST TRUE = NOT FALSE
  18.    KEY OFF
  19.    LOCATE ,,0
  20.    Parms = FALSE
  21.    Ver$ = " 14.1D 15.1A 15.1B 15.1C 16.1A 17.1A 17.1B 17.1C 17.1D 17.2A 17.2B "
  22.  
  23.    IF COMMAND$ = "" THEN _
  24.       GOTO CopyRight
  25.    Parms = 1
  26.    Delim$ = " "
  27.    InputFileName$ = STRTOK$(COMMAND$,Delim$)
  28.    IF InputFileName$ = "" THEN _
  29.       GOTO CopyRight
  30.    InputVersion$ = STRTOK$("",Delim$)
  31.    IF LEN(InputVersion$) < 4 THEN GOTO CopyRight
  32.    InputVersion$ = UCASE$ (InputVersion$)
  33.    Version = INSTR(Ver$, " " + InputVersion$ + " ")
  34.    IF Version = 0 THEN GOTO CopyRight
  35.    Version = INT((Version-2)/6)+1
  36.    OutputFileName$ = STRTOK$("",Delim$)
  37.    IF OutputFileName$ = "" THEN _
  38.       GOTO CopyRight
  39.    Parms = TRUE
  40. '
  41. ' ╔══════════════════════╗
  42. ' ║  COPYRIGHT GOES HERE ║
  43. ' ╚══════════════════════╝
  44. '
  45. CopyRight:
  46.    CALL box(1,5,18,69,2)
  47.    FOR I = 2 to 15
  48.       LOCATE I,7
  49.       READ Temp$
  50.       PRINT Temp$
  51.       NEXT
  52.    IF Parms = FALSE THEN CALL Line17("Press any key to continue")
  53.    IF Parms = 1 THEN
  54.       Parms = FALSE
  55.       CALL Line17("ERROR IN INPUT PARAMETERS -  Press any key to continue")
  56.    END IF
  57. 120 REM
  58.    IF Parms = FALSE THEN
  59.       A$ = INKEY$
  60.       IF A$="" GOTO 120 ELSE GOTO 130
  61.    END IF
  62.    TEMP = (VAL(RIGHT$(TIME$,2))+4) MOD 60
  63.    WHILE VAL(RIGHT$(TIME$,2)) <> TEMP
  64.    WEND
  65. 130 REM
  66.    LOCATE 1,1
  67.    FOR I = 3 to 17
  68.       LOCATE I, 6
  69.       PRINT SPACE$(67);
  70.    NEXT I
  71.    LOCATE 4,12
  72.    PRINT "Name of INPUT FILE:"
  73.    LOCATE 5,9
  74.    PRINT "Version of INPUT FILE:"
  75.    LOCATE 6,11
  76.    PRINT "Name of OUTPUT file:"
  77.    IF Parms = FALSE THEN GOTO 150
  78.    LOCATE 4,32
  79.    PRINT InputFileName$
  80.    LOCATE 5,32
  81.    PRINT InputVersion$
  82.    LOCATE 6,32
  83.    PRINT OutputFileName$
  84.    GOTO 180
  85. '
  86. ' ╔═════════════════════════════╗
  87. ' ║ GET THE INPUT FROM THE USER ║
  88. ' ╚═════════════════════════════╝
  89. '
  90. 150 CALL Line17("Enter the name of your existing RBBS-PC CONFIGURATION FILE")
  91.    LOCATE 4,32
  92.    PRINT SPACE$(40);
  93.    LOCATE 4,31
  94.    INPUT " ", InputFileName$
  95.    IF LEN(InputFileName$) < 1 THEN
  96.       PRINT CHR$(7);
  97.       GOTO 150
  98.    END IF
  99. 160 CALL Line17("Valid versions: 14.1D, 15.1A/B/C, 16.1A, 17.1A/B/C/D 17.2A/B")
  100.    LOCATE 5,32
  101.    PRINT SPACE$(40);
  102.    LOCATE 5,31
  103.    INPUT " ", InputVersion$
  104.    IF LEN(InputVersion$) <> 5 THEN
  105.       PRINT CHR$(7);
  106.       GOTO 160
  107.    END IF
  108.    InputVersion$ = UCASE$ (InputVersion$)
  109.    Version = INSTR(Ver$, InputVersion$)
  110.    IF Version = 0 THEN
  111.       PRINT CHR$(7);
  112.       GOTO 160
  113.    END IF
  114.    Version = INT((Version-1)/6)+1
  115. 170 CALL Line17("Enter the name of the output RBBS-PC version 17.3 FILE")
  116.    LOCATE 6,32
  117.    PRINT SPACE$(40);
  118.    LOCATE 6,31
  119.    INPUT " ", OutputFileName$
  120.    IF LEN(OutputFileName$) < 1 THEN
  121.       PRINT CHR$(7);
  122.       GOTO 170
  123.    END IF
  124.    CALL Line17("")
  125. 180   LOCATE 8,9
  126.    INPUT "Is everything correct (Y or N)";QUERY$
  127.    IF UCASE$ (LEFT$(Query$,1)) <> "Y" THEN GOTO 150
  128.    ON ERROR GOTO ErrorHandler
  129. 1000  OPEN "I",#1,InputFileName$
  130. '
  131. ' ╔════════════════════════════════════════════════════════════╗
  132. ' ║ READ IN THE PARAMETERS FROM AN EXISTING "RBBS-PC.DEF" FILE ║
  133. ' ╚════════════════════════════════════════════════════════════╝
  134. '
  135. 1010  LOCATE 10,9
  136.       PRINT "READING DATA....";
  137. '
  138. ' ╔═════════════════╗
  139. ' ║ READ INPUT FILE ║
  140. ' ╚═════════════════╝
  141. '
  142. ReadDef:
  143.    IF Version >= 6 THEN INPUT #1,CONFIG.FILE.VER$
  144.    INPUT #1,DOWNLOAD.DRIVES$, _
  145.             SYSOP.PASSWORD.1$, _
  146.             SYSOP.PASSWORD.2$, _
  147.             SYSOP.FIRST.NAME$, _
  148.             SYSOP.LAST.NAME$, _
  149.             REQUIRED.RINGS, _
  150.             START.OFFICE.HOURS, _
  151.             END.OFFICE.HOURS, _
  152.             MINUTES.PER.SESSION!, _
  153.             MAX.ALLOWED.MSGS.FRM.DEF, _
  154.             ACT.MNTHS.B4.DELETING, _
  155.             UPLOAD.DIRECTORY$, _
  156.             EXPERT.USER, _
  157.             ACTIVE.BULLETINS, _
  158.             PROMPT.BELL, _
  159.             PCJR, _
  160.             MENUS.CAN.PAUSE, _
  161.             MENU$(1), _
  162.             MENU$(2), _
  163.             MENU$(3), _
  164.             MENU$(4), _
  165.             MENU$(5)
  166.  
  167.    IF Version >= 4 THEN INPUT #1,MENU$(6)
  168.  
  169.    INPUT #1,CONFERENCE.MENU$, _
  170.             CONFERENCE.VIEWER.SEC.LVL, _
  171.             WELCOME.INTERRUPTABLE, _
  172.             REMIND.FILE.TRANSFERS, _
  173.             PAGE.LENGTH, _
  174.             MAX.MESSAGE.LINES, _
  175.             DOORS.AVAILABLE, _
  176.             MO$
  177.  
  178.    INPUT #1,MAIN.MESSAGE.FILE$, _
  179.             MAIN.MESSAGE.BACKUP$, _
  180.             CALLERS.FILE$, _
  181.             COMMENTS.FILE$, _
  182.             MAIN.USER.FILE$, _
  183.             WELCOME.FILE$, _
  184.             NEWUSER.FILE$, _
  185.             DIRECTORY.EXTENTION$, _
  186.             COM.PORT$, _
  187.             BULLETINS.OPTIONAL, _
  188.             USER.INIT.COMMAND$, _
  189.             RTS$, _
  190.             DOS.VERSION, _
  191.             FG, _
  192.             BG, _
  193.             BORDER, _
  194.             RBBS.BAT$, _
  195.             RCTTY.BAT$
  196.  
  197.    INPUT #1,OMIT.MAIN.DIRECTORY$, _
  198.             FIRST.NAME.PROMPT$
  199.  
  200.    IF Version = 1 THEN
  201.       INPUT #1,HELP$(1), _
  202.                HELP$(2), _
  203.                HELP$(3), _
  204.                HELP$(4), _
  205.                HELP$(5), _
  206.                HELP$(6), _
  207.                HELP$(7), _
  208.                HELP$(8), _
  209.                HELP$(9)
  210.    ELSE
  211.       INPUT #1,HELP$(3), _
  212.                HELP$(4), _
  213.                HELP$(7), _
  214.                HELP$(9)
  215.    END IF
  216.  
  217.    INPUT #1,BULLETIN.MENU$, _
  218.             BULLETIN.PREFIX$, _
  219.             DRIVE.FOR.BULLETINS$, _
  220.             MESSAGE.REMINDER, _
  221.             REQUIRE.NON.ASCII, _
  222.             ASK.EXTENDED.DESC, _
  223.             MAXIMUM.NUMBER.OF.NODES, _
  224.             NETWORK.TYPE, _
  225.             RECYCLE.TO.DOS, _
  226.             MAX.USR.FILE.SIZE.FRM.DEF, _
  227.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  228.             TRASHCAN.FILE$
  229.    INPUT #1,MINIMUM.LOGON.SECURITY, _
  230.             DEFAULT.SECURITY.LEVEL, _
  231.             SYSOP.SECURITY.LEVEL, _
  232.             FILESEC.FILE$, _
  233.             SYSOP.MENU.SECURITY.LEVEL, _
  234.             CONFMAIL.LIST$, _
  235.             MAXIMUM.VIOLATIONS, _
  236.             SYSOP.FUNCTION(1), _
  237.             SYSOP.FUNCTION(2), _
  238.             SYSOP.FUNCTION(3), _
  239.             SYSOP.FUNCTION(4), _
  240.             SYSOP.FUNCTION(5), _
  241.             SYSOP.FUNCTION(6), _
  242.             SYSOP.FUNCTION(7), _
  243.             PASSWORD.FILE$, _
  244.             MAXIMUM.PASSWORD.CHANGES, _
  245.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  246.             OVERWRITE.SECURITY.LEVEL, _
  247.             DOORS.TERMINAL.TYPE, _
  248.             MAX.PER.DAY
  249.    IF Version = 1 THEN GOTO READ.DEF.141D.ONLY
  250.  
  251.    INPUT #1,MAIN.FUNCTION(1), _
  252.             MAIN.FUNCTION(2), _
  253.             MAIN.FUNCTION(3), _
  254.             MAIN.FUNCTION(4), _
  255.             MAIN.FUNCTION(5), _
  256.             MAIN.FUNCTION(6), _
  257.             MAIN.FUNCTION(7), _
  258.             MAIN.FUNCTION(8), _
  259.             MAIN.FUNCTION(9), _
  260.             MAIN.FUNCTION(10), _
  261.             MAIN.FUNCTION(11), _
  262.             MAIN.FUNCTION(12), _
  263.             MAIN.FUNCTION(13), _
  264.             MAIN.FUNCTION(14), _
  265.             MAIN.FUNCTION(15), _
  266.             MAIN.FUNCTION(16), _
  267.             MAIN.FUNCTION(17)
  268.  
  269.    IF Version >= 4 THEN INPUT #1,MAIN.FUNCTION(18)
  270.  
  271.    IF Version < 5 THEN
  272.       INPUT #1,DUMMY$
  273.    ELSE
  274.       INPUT #1,MIN.NEWCALLER.BAUD
  275.    END IF
  276.  
  277.    INPUT #1,WAIT.BEFORE.DISCONNECT, _
  278.             FILES.FUNCTION(1), _
  279.             FILES.FUNCTION(2), _
  280.             FILES.FUNCTION(3), _
  281.             FILES.FUNCTION(4)
  282.    IF Version >= 5 THEN INPUT #1,FILES.FUNCTION(5)
  283.  
  284.    INPUT #1,FILES.FUNCTION(6), _
  285.             FILES.FUNCTION(7), _
  286.             FILES.FUNCTION(8), _
  287.             UTILITY.FUNCTION(1), _
  288.             UTILITY.FUNCTION(2)
  289.    IF Version >= 5 THEN INPUT #1,UTILITY.FUNCTION(3)
  290.  
  291.    INPUT #1,UTILITY.FUNCTION(4), _
  292.             UTILITY.FUNCTION(5), _
  293.             UTILITY.FUNCTION(6), _
  294.             UTILITY.FUNCTION(7), _
  295.             UTILITY.FUNCTION(8), _
  296.             UTILITY.FUNCTION(9), _
  297.             UTILITY.FUNCTION(10), _
  298.             UTILITY.FUNCTION(11), _
  299.             UTILITY.FUNCTION(12), _
  300.             GLOBAL.FUNCTION(1), _
  301.             GLOBAL.FUNCTION(2), _
  302.             GLOBAL.FUNCTION(3), _
  303.             GLOBAL.FUNCTION(4), _
  304.             UPLOAD.TIME.FACTOR!, _
  305.             COMPUTER.TYPE, _
  306.             REMIND.PROFILE, _
  307.             RBBS.NAME$, _
  308.             COMMANDS.BETWEEN.RINGS, _
  309.             MNP.SUPPORT, _
  310.             PAGING.PRINTER.SUPPORT$, _
  311.             MODEM.INIT.BAUD$
  312.    INPUT #1,TURN.PRINTER.OFF, _
  313.             DIRECTORY.PATH$, _
  314.             MIN.SEC.TO.VIEW, _
  315.             LIMIT.SEARCH.TO.FMS, _
  316.             DEFAULT.CATEGORY.CODE$, _
  317.             DIR.CATEGORY.FILE$, _
  318.             NEW.FILES.CHECK, _
  319.             MAX.DESC.LEN, _
  320.             SHOW.SECTION, _
  321.             COMMANDS.IN.PROMPT, _
  322.             NEWUSER.SETS.DEFAULTS, _
  323.             HELP.PATH$, _
  324.             HELP.EXTENSION$, _
  325.             MAIN.COMMANDS$, _
  326.             FILE.COMMANDS$, _
  327.             UTIL.COMMANDS$, _
  328.             GLOBAL.COMMANDS$, _
  329.             SYSOP.COMMANDS$
  330.    IF Version >= 4 THEN
  331.       INPUT #1,RECYCLE.WAIT, _
  332.             LIBRARY.FUNCTION(1), _
  333.             LIBRARY.FUNCTION(2), _
  334.             LIBRARY.FUNCTION(3), _
  335.             LIBRARY.FUNCTION(4), _
  336.             LIBRARY.FUNCTION(5), _
  337.             LIBRARY.FUNCTION(6), _
  338.             LIBRARY.FUNCTION(7), _
  339.             LIBRARY.DRIVE$, _
  340.             LIBRARY.DIRECTORY.PATH$, _
  341.             LIBRARY.DIRECTORY.EXTENTION$, _
  342.             LIBRARY.WORK.DISK.PATH$, _
  343.             LIBRARY.MAX.DISK, _
  344.             LIBRARY.MAX.DIRECTORY, _
  345.             LIBRARY.MAX.SUBDIR, _
  346.             LIBRARY.SUBDIR.PREFIX$, _
  347.             LIBRARY.ARCHIVE.PATH$, _
  348.             LIBRARY.ARCHIVE.PROGRAM$, _
  349.             LIBRARY.COMMANDS$
  350.    END IF
  351.  
  352.    INPUT #1,UPLOAD.PATH$, _
  353.             FMS.DIRECTORY$, _
  354.             ANS.MENU$,_
  355.             REQUIRED.QUESTIONNAIRE$,_
  356.             REMEMBER.NEW.USERS, _
  357.             SURVIVE.NOUSER.ROOM, _
  358.             PROMPT.HASH$, _
  359.             START.HASH, _
  360.             LEN.HASH, _
  361.             PROMPT.INDIV$, _
  362.             START.INDIV, _
  363.             LEN.INDIV
  364.    INPUT #1,BYPASS.MSGS, _
  365.             MUSIC, _
  366.             RESTRICT.BY.DATE, _
  367.             DAYS.TO.WARN, _
  368.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  369.             VOICE.TYPE, _                                            ' KG013101
  370.             RESTRICT.VALID.CMDS, _
  371.             NEW.USER.DEFAULT.MODE, _
  372.             NEW.USER.LINE.FEEDS, _
  373.             NEW.USER.NULLS, _                                        ' KG013101
  374.             FAST.FILE.LIST$, _                                       ' KG013101
  375.             FAST.FILE.LOCATOR$, _                                    ' KG013101
  376.             MESSAGES.CAN.GROW, _                                     ' KG013101
  377.             WRAP.CALLERS.FILE$, _
  378.             REDIRECT.IO.METHOD, _
  379.             AUTO.UPGRADE.SEC, _                                      ' KG013101
  380.             HALT.ON.ERROR, _
  381.             NEW.PUBLIC.MSGS.SECURITY, _
  382.             NEW.PRIVATE.MSGS.SECURITY, _
  383.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  384.             SL.CATEGORIZE.UPLOADS, _
  385.             BAUDOT, _
  386.             TIME.TO.DROP.TO.DOS, _
  387.             EXPIRED.SECURITY, _
  388.             DTR.DROP.DELAY, _
  389.             ASK.IDENTITY, _
  390.             MAX.REG.SEC, _                                           ' KG013101
  391.             BUFFER.SIZE, _
  392.             MLCOM, _
  393.             SHOOT.YOURSELF, _
  394.             EXTENSION.LIST$, _
  395.             NEW.USER.DEFAULT.PROTOCOL$, _
  396.             NEW.USER.GRAPHICS$, _
  397.             NET.MAIL$, _
  398.             MASTER.DIRECTORY.NAME$, _
  399.             PROTO.DEF$, _
  400.             UPCAT.HELP$, _
  401.             ALWAYS.STREW.TO$, _
  402.             LAST.NAME.PROMPT$
  403.    GOTO READ.DEF.ALL
  404.  
  405. READ.DEF.141D.ONLY:
  406.    INPUT #1,MAIN.FUNCTION(2), _
  407.             MAIN.FUNCTION(3), _
  408.             MAIN.FUNCTION(4), _
  409.             MAIN.FUNCTION(5), _
  410.             MAIN.FUNCTION(6), _
  411.             GLOBAL.FUNCTION(3), _
  412.             GLOBAL.FUNCTION(1), _
  413.             MAIN.FUNCTION(7), _
  414.             MAIN.FUNCTION(8), _
  415.             MAIN.FUNCTION(9), _
  416.             UTILITY.FUNCTION(6), _
  417.             MAIN.FUNCTION(10), _
  418.             MAIN.FUNCTION(11), _
  419.             MAIN.FUNCTION(14), _
  420.             MAIN.FUNCTION(12), _
  421.             MAIN.FUNCTION(13), _
  422.             MAIN.FUNCTION(15), _
  423.             MAIN.FUNCTION(16), _
  424.             MAIN.FUNCTION(17), _
  425.             GLOBAL.FUNCTION(4), _
  426.             GLOBAL.FUNCTION(2), _
  427.             DEFAULT.MACHINE.TYPE$, _
  428.             WAIT.BEFORE.DISCONNECT
  429.  
  430.    INPUT #1,FILES.FUNCTION(1), _
  431.             FILES.FUNCTION(2), _
  432.             DUMMY,             _
  433.             FILES.FUNCTION(3), _
  434.             FILES.FUNCTION(4), _
  435.             DUMMY,             _
  436.             FILES.FUNCTION(6), _
  437.             FILES.FUNCTION(7), _
  438.             DUMMY,             _
  439.             DUMMY,             _
  440.             UTILITY.FUNCTION(1), _
  441.             UTILITY.FUNCTION(11), _
  442.             UTILITY.FUNCTION(4), _
  443.             UTILITY.FUNCTION(5), _
  444.             DUMMY,             _
  445.             DUMMY,             _
  446.             UTILITY.FUNCTION(7), _
  447.             DUMMY,             _
  448.             UTILITY.FUNCTION(8), _
  449.             DUMMY,             _
  450.             UTILITY.FUNCTION(9), _
  451.             UTILITY.FUNCTION(10), _
  452.             UTILITY.FUNCTION(2), _
  453.             UTILITY.FUNCTION(12), _
  454.             DUMMY,             _
  455.             DUMMY,             _
  456.             UPLOAD.TIME.FACTOR!, _
  457.             COMPUTER.TYPE, _
  458.             REMIND.PROFILE, _
  459.             RBBS.NAME$, _
  460.             COMMANDS.BETWEEN.RINGS, _
  461.             MNP.SUPPORT, _
  462.             PAGING.PRINTER.SUPPORT$, _
  463.             MODEM.INIT.BAUD$
  464.  
  465.    INPUT #1,SYSOP.FUNCTION.KEY1$, _
  466.             SYSOP.FUNCTION.KEY2$, _
  467.             SYSOP.FUNCTION.KEY3$, _
  468.             SYSOP.FUNCTION.KEY4$, _
  469.             SYSOP.FUNCTION.KEY5$, _
  470.             SYSOP.FUNCTION.KEY6$, _
  471.             SYSOP.FUNCTION.KEY7$, _
  472.             SYSOP.FUNCTION.KEY8$, _
  473.             SYSOP.FUNCTION.KEY9$, _
  474.             SYSOP.FUNCTION.KEY10$, _
  475.             SYSOP.FUNCTION.KEY11$, _
  476.             SYSOP.FUNCTION.KEY12$
  477. READ.DEF.ALL:
  478.  
  479.    IF Version >= 5 THEN
  480.    INPUT #1,PERSONAL.DRVPATH$, _
  481.             PERSONAL.DIR$, _
  482.             PERSONAL.BEGIN, _
  483.             PERSONAL.LEN, _
  484.             PERSONAL.PROTOCOL$, _
  485.             PERSONAL.CONCAT, _
  486.             PRIVATE.READ.SEC, _
  487.             PUBLIC.READ.SEC, _
  488.             SEC.CHANGE.MSG, _
  489.             KEEP.INIT.BAUD, _
  490.             MAIN.PUI$, _
  491.             DEFAULT.ECHOER$, _
  492.             HOST.ECHO.ON$, _
  493.             HOST.ECHO.OFF$, _
  494.             SWITCH.BACK, _
  495.             DEFAULT.LINE.ACK$, _
  496.             ALTDIR.EXTENSION$, _
  497.             DIRECTORY.PREFIX$
  498.    END IF
  499.  
  500.    INPUT #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  501.             MODEM.INIT.WAIT.TIME, _
  502.             MODEM.COMMAND.DELAY.TIME, _
  503.             TURBO.RBBS
  504.    INPUT #1,DNLD.SUB, _
  505.             WILL.SUBDIRS.B.USED, _
  506.             UPLOAD.TO.SUBDIR, _
  507.             DOWNLOAD.TO.SUBDIR, _
  508.             UPLOAD.SUBDIR$
  509.  
  510.    IF Version < 5 THEN
  511.    INPUT #1,RESTRICT.BAUD, _
  512.             USE.COLOR
  513.    ELSE
  514.    INPUT #1,MIN.OLDCALLER.BAUD, _
  515.             MAX.WORK.VAR                                             ' KG013101
  516.    ENDIF
  517.  
  518.    INPUT #1,DISKFULL.GO.OFFLINE, _
  519.             EXTENDED.LOGGING, _
  520.             USER.RESET.COMMAND$, _
  521.             USER.COUNT.RINGS.COMMAND$, _
  522.             USER.ANSWER.COMMAND$, _
  523.             USER.GO.OFFHOOK.COMMAND$, _
  524.             DISK.FOR.DOS$, _
  525.             DUMB.MODEM, _
  526.             COMMENTS.AS.MESSAGES, _
  527.             LSB, _
  528.             MSB, _
  529.             LINE.CONTROL.REGISTER, _
  530.             MODEM.CONTROL.REGISTER, _
  531.             LINE.STATUS.REGISTER, _
  532.             MODEM.STATUS.REGISTER
  533.    IF Version >= 5 THEN
  534.    INPUT #1,KEEP.TIME.CREDITS, _
  535.             XON.XOFF, _
  536.             ALLOW.CALLER.TURBO, _
  537.             USE.DEVICE.DRIVER$, _
  538.             PRELOG$, _
  539.             NEW.USER.QUESTIONNAIRE$, _
  540.             EPILOG$, _
  541.             REGISTRATION.PROGRAM$, _
  542.             QUES.PATH$, _
  543.             USER.LOCATION$, _
  544.             USER.INITIALIZE.COMMAND$, _
  545.             USER.FIRMWARE.CLEAR.CMND$, _
  546.             USER.FIRMWARE.WRITE.CMND$, _
  547.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  548.             SIZE.OF.STACK, _
  549.             SECURITY.EXEMPT.FROM.EPILOG, _
  550.             USE.BASIC.WRITES, _
  551.             DOSANSI, _
  552.             ESCAPE.INSECURE, _
  553.             USE.DIR.ORDER, _
  554.             ADD.DIR.SECURITY, _
  555.             MAX.EXTENDED.LINES, _
  556.             ORIG.COMMANDS$
  557.    END IF
  558.  
  559.    IF Version >= 6 THEN
  560.    INPUT #1,LOGON.MAIL.LEVEL$, _
  561.                MACRO.DRVPATH$, _
  562.                MACRO.EXTENSION$, _
  563.                EMPHASIZE.ON.DEF$, _
  564.                EMPHASIZE.OFF.DEF$, _
  565.                FG.1.DEF$, _
  566.                FG.2.DEF$, _
  567.                FG.3.DEF$, _
  568.                FG.4.DEF$, _
  569.                SECVIO.HLP$, _
  570.                FOSSIL, _
  571.                MAX.CARRIER.WAIT, _
  572.                CALLER.BKGRD, _
  573.                SMART.TEXT, _
  574.                TIME.LOCK, _
  575.                WRITE.BUF.DEF, _
  576.                SEC.KILL.ANY, _
  577.                DOORS.DEF$, _
  578.                SCREEN.OUT.MSG$, _
  579.                AUTOPAGE.DEF$
  580.    END IF
  581.    IF DNLD.SUB < 1 OR DNLD.SUB > 99 THEN GOTO CLOSE.IN
  582.    FOR I = 1 TO DNLD.SUB
  583.        INPUT #1,DNLD$(I)
  584.    NEXT
  585.    GOTO CLOSE.IN
  586.  
  587. '
  588. ' ╔══════════════════╗
  589. ' ║ CLOSE INPUT FILE ║
  590. ' ╚══════════════════╝
  591. '
  592. CLOSE.IN:
  593.       CLOSE #1
  594. '
  595. ' ╔═════════════════════════════════════════════════╗
  596. ' ║ INITALIZE ALL VARIABLES THAT DON'T AREADY EXIST ║
  597. ' ╚═════════════════════════════════════════════════╝
  598. '
  599. 1020  LOCATE 11,9
  600.    PRINT "CONVERTING DATA...";
  601.    IF INSTR(MAIN.MESSAGE.FILE$,":") THEN
  602.       D$ = LEFT$(MAIN.MESSAGE.FILE$,INSTR(MAIN.MESSAGE.FILE$,":"))
  603.    ELSE
  604.       D$ = ""
  605.    END IF
  606.  
  607.    ON Version GOTO 2000, 2100, 2200, 2300, 2400, 2500, 2500, 2500, 2500
  608.    GOTO 2600
  609. '
  610. ' ╔══════════════════════════════════╗
  611. ' ║ INITALIZE VARIABLES NOT IN 14.1D ║
  612. ' ╚══════════════════════════════════╝
  613. '
  614. 2000  FOR I = 1 TO 9
  615.          IF INSTR(HELP$(I),":") THEN
  616.             HELP$(I) = MID$(HELP$(I),INSTR(HELP$(I),":")+1)
  617.          END IF
  618.       NEXT
  619.    ALWAYS.STREW.TO$           = ""
  620.    ANS.MENU$                  = D$ + "MENUA"
  621.    ASK.IDENTITY               = FALSE
  622.    BAUDOT                     = 0
  623.    BUFFER.SIZE                = 128
  624.    BYPASS.MSGS                = FALSE                                ' KG013101
  625.    COMMANDS.IN.PROMPT         = TRUE
  626.    DEFAULT.CATEGORY.CODE$     = "UC "
  627.    DAYS.IN.SUBSCRIPTION.PERIOD = 365
  628.    DAYS.TO.WARN               = 60
  629.    DIR.CATEGORY.FILE$         = D$ + "DIR.CAT"
  630.    DIRECTORY.PATH$            = D$
  631.    DTR.DROP.DELAY             = 3
  632.    DUMMY$                     = " "
  633.    EXPIRED.SECURITY           = DEFAULT.SECURITY.LEVEL
  634.    FILE.COMMANDS$             = "DGLNPSUV"
  635.    FILES.FUNCTION(8)          = FILES.FUNCTION(1)
  636.    F7.MESSAGE$                = ""
  637.    GLOBAL.COMMANDS$           = "H?QX"                               ' KG013101
  638.    HELP.EXTENSION$            = "HLP"
  639.    HELP.PATH$                 = D$
  640.    LEN.HASH                   = 31
  641.    LEN.INDIV                  = 0
  642.    LIMIT.SEARCH.TO.FMS        = FALSE
  643.    MAIN.COMMANDS$             = "ABCDEFIJKOPRSTUVW"
  644.    MAIN.FUNCTION(1)           = DEFAULT.SECURITY.LEVEL
  645.    MAIN.FUNCTION(18)          = 32767
  646.    MASTER.DIRECTORY.NAME$     = ""
  647.    MAX.DESC.LEN               = 40
  648.    MIN.SEC.TO.VIEW            = DEFAULT.SECURITY.LEVEL
  649.    MLCOM                      = FALSE
  650.    MUSIC                      = FALSE
  651.    NET.MAIL$                  = ""
  652.    NEW.FILES.CHECK            = FALSE
  653.    NEWUSER.SETS.DEFAULTS      = TRUE
  654.    NEW.PUBLIC.MSGS.SECURITY   = DEFAULT.SECURITY.LEVEL
  655.    NEW.PRIVATE.MSGS.SECURITY  = DEFAULT.SECURITY.LEVEL
  656.    NEW.USER.DEFAULT.MODE      = 0
  657.    NEW.USER.DEFAULT.PROTOCOL$ = ""
  658.    NEW.USER.GRAPHICS$         = ""
  659.    NEW.USER.LINE.FEEDS        = 0
  660.    NEW.USER.NULLS             = 0
  661.    NEW.USER.BELL              = 0
  662.    NEW.USER.CASE              = 0
  663.    NEW.USER.MARGINS           = 0
  664.    PROMPT.HASH$               = "Name"
  665.    PROMPT.INDIV$              = ""
  666.    REDIRECT.IO.METHOD         = TRUE
  667.    REMEMBER.NEW.USERS         = TRUE
  668.    REQUIRED.QUESTIONNAIRE$    = "NONE"
  669.    RESTRICT.BY.DATE           = FALSE
  670.    RESTRICT.VALID.CMDS        = FALSE
  671.    SECURITY.NEEDED.TO.CHANGE.MSGS = SYSOP.SECURITY.LEVEL
  672.    SHOOT.YOURSELF             = FALSE
  673.    SHOW.SECTION               = TRUE
  674.    SL.CATEGORIZE.UPLOADS      = SYSOP.SECURITY.LEVEL
  675.    START.HASH                 = 1
  676.    START.INDIV                = 0
  677.    SURVIVE.NOUSER.ROOM        = FALSE
  678.    SYSOP.COMMANDS$            = "1234567"
  679.    TIME.TO.DROP.TO.DOS        = 0
  680.    TURN.PRINTER.OFF           = FALSE
  681.    FMS.DIRECTORY$             = ""
  682.    UPCAT.HELP$                = "UPCAT"                              ' KG013101
  683.    UTIL.COMMANDS$             = "BCEFGLMPRSTU"
  684.    WRAP.CALLERS.FILE$         = ""
  685.    FOR I = 1 TO NUM.GLOBAL
  686.      GLOBAL.FUNCTION(I) = MINIMUM.LOGON.SECURITY
  687.    NEXT
  688.  
  689. '
  690. ' ╔══════════════════════════════════╗
  691. ' ║ INITALIZE VARIABLES NOT IN 15.1A ║
  692. ' ╚══════════════════════════════════╝
  693. '
  694. 2100  RTS$                       = "NO"
  695.  
  696. '
  697. ' ╔══════════════════════════════════╗
  698. ' ║ INITALIZE VARIABLES NOT IN 15.1B ║
  699. ' ╚══════════════════════════════════╝
  700. '
  701.  
  702. 2200  LIBRARY.ARCHIVE.PATH$        = D$
  703.    LIBRARY.ARCHIVE.PROGRAM$     = "ARCA "
  704.    LIBRARY.COMMANDS$            = "ACDGLSV"
  705.    LIBRARY.DIRECTORY.PATH$      = D$
  706.    LIBRARY.DIRECTORY.EXTENTION$ = "CDR"
  707.    LIBRARY.DRIVE$               = ""
  708.    LIBRARY.MAX.DISK             = 705
  709.    LIBRARY.MAX.DIRECTORY        = 7
  710.    LIBRARY.MAX.SUBDIR           = 100
  711.    LIBRARY.SUBDIR.PREFIX$       = "DISK"
  712.    FOR I=1 TO 7
  713.       LIBRARY.FUNCTION(I) = SYSOP.SECURITY.LEVEL
  714.    NEXT
  715.    LIBRARY.WORK.DISK.PATH$      = D$
  716.  
  717.    MAIN.COMMANDS$               = MAIN.COMMANDS$ + "@"
  718.    MENU$(6)                   = D$ + "MENU6"
  719.    RECYCLE.WAIT               = 0
  720.  
  721. '
  722. ' ╔══════════════════════════════════╗
  723. ' ║ INITALIZE VARIABLES NOT IN 15.1C ║
  724. ' ╚══════════════════════════════════╝
  725. '
  726.  
  727. 2300  ALLOW.CALLER.TURBO         = SYSOP.SECURITY.LEVEL
  728.    ALTDIR.EXTENSION$          = ""
  729.    DEFAULT.ECHOER$            = "R"
  730.    DEFAULT.LINE.ACK$          = ""
  731.    DIRECTORY.PREFIX$          = "DIR"
  732.    DOSANSI                    = USE.COLOR
  733.    ENFORCE.UPLOAD.DOWNLOAD.RATIOS = FALSE
  734.    EPILOG$                    = D$ + "EPILOG.DEF"
  735.    IF LEN(FILE.COMMANDS$) < 8 THEN
  736.       FILE.COMMANDS$ = LEFT$(FILE.COMMANDS$,4) + "P" + _
  737.                        RIGHT$(FILE.COMMANDS$,3)
  738.    END IF
  739.    FILES.FUNCTION(5)          = SYSOP.SECRUITY.LEVEL
  740.    FIRST.NAME.PROMPT$         = "FIRST name"
  741.    HOST.ECHO.OFF$             = ""
  742.    HOST.ECHO.ON$              = ""
  743.    KEEP.INIT.BAUD             = FALSE
  744.    KEEP.TIME.CREDITS          = FALSE
  745.    LAST.NAME.PROMPT$          = "LAST name"
  746.    MAIN.PUI$                  = D$ + "MAIN.PUI"
  747.    MAX.PER.DAY                = 0
  748.    MENUS.CAN.PAUSE            = TRUE
  749.    MIN.NEWCALLER.BAUD         = 0
  750.    IF RESTRICT.BAUD <> 0 THEN _
  751.       MIN.NEWCALLER.BAUD      = 1200
  752.    MIN.OLDCALLER.BAUD         = 0
  753.    IF RESTRICT.BAUD =TRUE THEN _
  754.       MIN.OLDCALLER.BAUD      = 1200
  755.    NEW.USER.QUESTIONNAIRE$    = D$ + "RBBS-REG.DEF"
  756.    PERSONAL.BEGIN             = 1
  757.    PERSONAL.DIR$              = "PRIV"
  758.    PERSONAL.DRVPATH$          = D$
  759.    PERSONAL.LEN               = 31
  760.    PERSONAL.CONCAT            = FALSE
  761.    PERSONAL.PROTOCOL$         = "N"
  762.    PRELOG$                    = D$ + "PRELOG"
  763.    PRIVATE.READ.SEC           = DEFAULT.SECURITY.LEVEL
  764.    PUBLIC.READ.SEC            = DEFAULT.SECURITY.LEVEL
  765.    QUES.PATH$                 = ""
  766.    REGISTRATION.PROGRAM$      = "NONE"
  767.    SEC.CHANGE.MSG             = SYSOP.SECURITY.LEVEL
  768.    SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
  769.    SIZE.OF.STACK              = 1024
  770.    SWITCH.BACK                = FALSE
  771.    USE.BASIC.WRITES           = FALSE
  772.    USE.DEVICE.DRIVER$         = ""
  773.    USE.EXTERNAL.YMODEM        = FALSE
  774.    USER.FIRMWARE.CLEAR.CMND$  = "AT&F"
  775.    USER.FIRMWARE.WRITE.CMND$  = "&W"
  776.    USER.INITIALIZE.COMMAND$   = "AT&C1&D3B1E0V1M0S0=0&T5"
  777.    USER.LOCATION$             = "CITY and STATE"
  778.    IF LEN(UTIL.COMMANDS$) < 12 THEN _
  779.    UTIL.COMMANDS$ = LEFT$(UTIL.COMMANDS$,2) + "E" + _
  780.                     RIGHT$(UTIL.COMMANDS$,9)
  781.    UTILITY.FUNCTION(3)        = UTILITY.FUNCTION(4)
  782.    XON.XOFF                   = FALSE
  783.  
  784.    MAIN.COMMANDS.DEFAULTS$    = "ABCDEFIJKOPRSTUVW@"
  785.    FILE.COMMANDS.DEFAULTS$    = "DGLNPSUV"
  786.    UTIL.COMMANDS.DEFAULTS$    = "BCEFGLMPRSTU"
  787.    LIBRARY.COMMANDS.DEFAULTS$   = "ACDGLSV"
  788.    GLOBAL.COMMANDS.DEFAULTS$  = "H?QX"
  789.    SYSOP.COMMANDS.DEFAULTS$   = "1234567"
  790.  
  791.    ORIG.COMMANDS$ = MAIN.COMMANDS.DEFAULTS$ + _
  792.                     FILE.COMMANDS.DEFAULTS$ + _
  793.                     UTIL.COMMANDS.DEFAULTS$ + _
  794.                     LIBRARY.COMMANDS.DEFAULTS$ + _
  795.                     GLOBAL.COMMANDS.DEFAULTS$ + _
  796.                     SYSOP.COMMANDS.DEFAULTS$
  797.  
  798. '
  799. ' ╔══════════════════════════════════╗
  800. ' ║ INITALIZE VARIABLES NOT IN 16.1A ║
  801. ' ╚══════════════════════════════════╝
  802. '
  803. 2400 ADD.DIR.SECURITY           = SYSOP.SECURITY.LEVEL
  804.    ASK.EXTENDED.DESC          = SYSOP.SECURITY.LEVEL
  805.    AUTOPAGE.DEF$              = D$ + "AUTOPAGE.DEF"
  806.    CALLER.BKGRD               = 0
  807.    CONFMAIL.LIST$             = D$ + "CONFMAIL.DEF"
  808.    EMPHASIZE.OFF.DEF$         = "[27]" + "[0;40;33m"
  809.    EMPHASIZE.ON.DEF$          = "[27]" + "[1;41;37m"
  810.    ESCAPE.INSECURE            = FALSE
  811.    FG.1.DEF$                  = ""
  812.    FG.2.DEF$                  = ""
  813.    FG.3.DEF$                  = ""
  814.    FG.4.DEF$                  = ""
  815.    FOSSIL                     = 0
  816.    LOGON.MAIL.LEVEL$          = "A"
  817.    LSB                        = 1016
  818.    MACRO.DRVPATH$             = D$
  819.    MACRO.EXTENSION$           = "MCR"
  820.    MAX.CARRIER.WAIT           = 30
  821.    MAX.EXTENDED.LINES         = 2
  822.    PROTO.DEF$                 = D$ + "PROTO.DEF"
  823.    SECVIO.HLP$                = D$ + "SECVIO." + HELP.EXTENSION$
  824.    SMART.TEXT                 = 123
  825.    TIME.LOCK                  = 0
  826.    USE.DIR.ORDER              = TRUE
  827.    WRITE.BUF.DEF              = 1024
  828. '
  829. ' ╔════════════════════════════════════╗
  830. ' ║ INITALIZE VARIABLES NOT IN 17.1A-D ║
  831. ' ╚════════════════════════════════════╝
  832. '
  833. 2500 AUTO.UPGRADE.SEC         = 0
  834.    EXTENSION.LIST$            = "ZIP"
  835.    DOORS.DEF$                 = D$ + "DOORS.DEF"
  836.    MAX.REG.SEC                = 0
  837.    MAX.WORK.VAR               = 30
  838.    MESSAGES.CAN.GROW          = 0
  839.    SCREEN.OUT.MSG$            = "SEEN-BY:"
  840.    SEC.KILL.ANY               = SYSOP.SECURITY.LEVEL
  841.    VOICE.TYPE                 = 0
  842. '
  843. ' ╔════════════════════════════════════╗
  844. ' ║ INITALIZE VARIABLES NOT IN 17.2A-B ║
  845. ' ╚════════════════════════════════════╝
  846. '
  847. 2600 VERSION.NUMBER$          = "17.3"
  848.      FAST.FILE.LIST$          = D$ + "FIDX.DEF"
  849.      FAST.FILE.LOCATOR$       = D$ + "LIDX.DEF"
  850. '
  851. ' ╔═══════════════════════════════════════════════════════════════════════════╗
  852. ' ║ WRITE OUT THE "RBBS-PC.DEF" FILE WITH THE SYSOP'S SPECIFIED CONFIGURATION ║
  853. ' ╚═══════════════════════════════════════════════════════════════════════════╝
  854. '
  855. 3000  OPEN "O",#1,OutputFileName$
  856.    LOCATE 12,9
  857.    PRINT "WRITING DATA...";
  858.  
  859. 4000  WRITE #1,VERSION.NUMBER$, _
  860.             DOWNLOAD.DRIVES$, _
  861.             SYSOP.PASSWORD.1$, _
  862.             SYSOP.PASSWORD.2$, _
  863.             SYSOP.FIRST.NAME$, _
  864.             SYSOP.LAST.NAME$, _
  865.             REQUIRED.RINGS, _
  866.             START.OFFICE.HOURS, _
  867.             END.OFFICE.HOURS, _
  868.             MINUTES.PER.SESSION!, _
  869.             MAX.ALLOWED.MSGS.FRM.DEF, _
  870.             ACT.MNTHS.B4.DELETING, _
  871.             UPLOAD.DIRECTORY$,_
  872.             EXPERT.USER, _
  873.             ACTIVE.BULLETINS, _
  874.             PROMPT.BELL, _
  875.             PCJR, _
  876.             MENUS.CAN.PAUSE, _
  877.             MENU$(1), _
  878.             MENU$(2), _
  879.             MENU$(3), _
  880.             MENU$(4), _
  881.             MENU$(5), _
  882.             MENU$(6), _
  883.             CONFERENCE.MENU$, _
  884.             CONFERENCE.VIEWER.SEC.LVL, _
  885.             WELCOME.INTERRUPTABLE, _
  886.             REMIND.FILE.TRANSFERS, _
  887.             PAGE.LENGTH, _
  888.             MAX.MESSAGE.LINES, _
  889.             DOORS.AVAILABLE, _
  890.             MO$
  891.    IF INSTR(BULLETIN.MENU$,":") < 1 THEN _
  892.       BULLETIN.MENU$ = DRIVE.FOR.BULLETINS$ + _
  893.                        BULLETIN.MENU$
  894.    IF INSTR(BULLETIN.PREFIX$,":") < 1 THEN _
  895.       BULLETIN.PREFIX$ = DRIVE.FOR.BULLETINS$ + _
  896.                          BULLETIN.PREFIX$
  897.    IF GLOBAL.FUNCTION(3) > MINIMUM.LOGON.SECURITY THEN _
  898.       GLOBAL.FUNCTION(3) = MINIMUM.LOGON.SECURITY
  899.    IF FILES.FUNCTION(2) > MINIMUM.LOGON.SECURITY THEN _
  900.       FILES.FUNCTION(2) = MINIMUM.LOGON.SECURITY
  901.    IF LIBRARY.FUNCTION(4) > MINIMUM.LOGON.SECURITY THEN _
  902.       LIBRARY.FUNCTION(4) = MINIMUM.LOGON.SECURITY
  903.    IF LIBRARY.DRIVE$ = "" THEN _
  904.       MAIN.FUNCTION(18) = 32767
  905.    WRITE #1,MAIN.MESSAGE.FILE$, _
  906.             MAIN.MESSAGE.BACKUP$, _
  907.             CALLERS.FILE$, _
  908.             COMMENTS.FILE$, _
  909.             MAIN.USER.FILE$, _
  910.             WELCOME.FILE$, _
  911.             NEWUSER.FILE$, _
  912.             DIRECTORY.EXTENTION$, _
  913.             COM.PORT$, _
  914.             BULLETINS.OPTIONAL, _
  915.             USER.INIT.COMMAND$, _
  916.             RTS$, _
  917.             DOS.VERSION, _
  918.             FG, _
  919.             BG, _
  920.             BORDER, _
  921.             RBBS.BAT$, _
  922.             RCTTY.BAT$
  923. 4200  WRITE #1,OMIT.MAIN.DIRECTORY$, _
  924.             FIRST.NAME.PROMPT$, _
  925.             HELP$(3), _
  926.             HELP$(4), _
  927.             HELP$(7), _
  928.             HELP$(9), _
  929.             BULLETIN.MENU$, _
  930.             BULLETIN.PREFIX$, _
  931.             DRIVE.FOR.BULLETINS$, _
  932.             MESSAGE.REMINDER, _
  933.             REQUIRE.NON.ASCII, _
  934.             ASK.EXTENDED.DESC, _
  935.             MAXIMUM.NUMBER.OF.NODES, _
  936.             NETWORK.TYPE, _
  937.             RECYCLE.TO.DOS, _
  938.             MAX.USR.FILE.SIZE.FRM.DEF, _
  939.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  940.             TRASHCAN.FILE$
  941. 4300  WRITE #1,MINIMUM.LOGON.SECURITY, _
  942.             DEFAULT.SECURITY.LEVEL, _
  943.             SYSOP.SECURITY.LEVEL, _
  944.             FILESEC.FILE$, _
  945.             SYSOP.MENU.SECURITY.LEVEL, _
  946.             CONFMAIL.LIST$, _
  947.             MAXIMUM.VIOLATIONS, _
  948.             SYSOP.FUNCTION(1), _
  949.             SYSOP.FUNCTION(2), _
  950.             SYSOP.FUNCTION(3), _
  951.             SYSOP.FUNCTION(4), _
  952.             SYSOP.FUNCTION(5), _
  953.             SYSOP.FUNCTION(6), _
  954.             SYSOP.FUNCTION(7), _
  955.             PASSWORD.FILE$, _
  956.             MAXIMUM.PASSWORD.CHANGES, _
  957.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  958.             OVERWRITE.SECURITY.LEVEL, _
  959.             DOORS.TERMINAL.TYPE, _
  960.             MAX.PER.DAY
  961. 4400  WRITE #1,MAIN.FUNCTION(1), _
  962.             MAIN.FUNCTION(2), _
  963.             MAIN.FUNCTION(3), _
  964.             MAIN.FUNCTION(4), _
  965.             MAIN.FUNCTION(5), _
  966.             MAIN.FUNCTION(6), _
  967.             MAIN.FUNCTION(7), _
  968.             MAIN.FUNCTION(8), _
  969.             MAIN.FUNCTION(9), _
  970.             MAIN.FUNCTION(10), _
  971.             MAIN.FUNCTION(11), _
  972.             MAIN.FUNCTION(12), _
  973.             MAIN.FUNCTION(13), _
  974.             MAIN.FUNCTION(14), _
  975.             MAIN.FUNCTION(15), _
  976.             MAIN.FUNCTION(16), _
  977.             MAIN.FUNCTION(17), _
  978.             MAIN.FUNCTION(18), _
  979.             MIN.NEWCALLER.BAUD, _
  980.             WAIT.BEFORE.DISCONNECT
  981. 4500  WRITE #1,FILES.FUNCTION(1), _
  982.             FILES.FUNCTION(2), _
  983.             FILES.FUNCTION(3), _
  984.             FILES.FUNCTION(4), _
  985.             FILES.FUNCTION(5), _
  986.             FILES.FUNCTION(6), _
  987.             FILES.FUNCTION(7), _
  988.             FILES.FUNCTION(8), _
  989.             UTILITY.FUNCTION(1), _
  990.             UTILITY.FUNCTION(2), _
  991.             UTILITY.FUNCTION(3), _
  992.             UTILITY.FUNCTION(4), _
  993.             UTILITY.FUNCTION(5), _
  994.             UTILITY.FUNCTION(6), _
  995.             UTILITY.FUNCTION(7), _
  996.             UTILITY.FUNCTION(8), _
  997.             UTILITY.FUNCTION(9), _
  998.             UTILITY.FUNCTION(10), _
  999.             UTILITY.FUNCTION(11), _
  1000.             UTILITY.FUNCTION(12), _
  1001.             GLOBAL.FUNCTION(1), _
  1002.             GLOBAL.FUNCTION(2), _
  1003.             GLOBAL.FUNCTION(3), _
  1004.             GLOBAL.FUNCTION(4), _
  1005.             UPLOAD.TIME.FACTOR!, _
  1006.             COMPUTER.TYPE, _
  1007.             REMIND.PROFILE, _
  1008.             RBBS.NAME$, _
  1009.             COMMANDS.BETWEEN.RINGS, _
  1010.             MNP.SUPPORT, _
  1011.             PAGING.PRINTER.SUPPORT$, _
  1012.             MODEM.INIT.BAUD$
  1013. 4600  WRITE #1,TURN.PRINTER.OFF,_
  1014.             DIRECTORY.PATH$,_
  1015.             MIN.SEC.TO.VIEW, _
  1016.             LIMIT.SEARCH.TO.FMS, _
  1017.             DEFAULT.CATEGORY.CODE$, _
  1018.             DIR.CATEGORY.FILE$, _
  1019.             NEW.FILES.CHECK, _
  1020.             MAX.DESC.LEN, _
  1021.             SHOW.SECTION, _
  1022.             COMMANDS.IN.PROMPT, _
  1023.             NEWUSER.SETS.DEFAULTS, _
  1024.             HELP.PATH$, _
  1025.             HELP.EXTENSION$, _
  1026.             MAIN.COMMANDS$, _
  1027.             FILE.COMMANDS$, _
  1028.             UTIL.COMMANDS$, _
  1029.             GLOBAL.COMMANDS$, _
  1030.             SYSOP.COMMANDS$
  1031. 4700  WRITE #1,RECYCLE.WAIT, _
  1032.             LIBRARY.FUNCTION(1), _
  1033.             LIBRARY.FUNCTION(2), _
  1034.             LIBRARY.FUNCTION(3), _
  1035.             LIBRARY.FUNCTION(4), _
  1036.             LIBRARY.FUNCTION(5), _
  1037.             LIBRARY.FUNCTION(6), _
  1038.             LIBRARY.FUNCTION(7), _
  1039.             LIBRARY.DRIVE$, _
  1040.             LIBRARY.DIRECTORY.PATH$, _
  1041.             LIBRARY.DIRECTORY.EXTENTION$, _
  1042.             LIBRARY.WORK.DISK.PATH$, _
  1043.             LIBRARY.MAX.DISK, _
  1044.             LIBRARY.MAX.DIRECTORY, _
  1045.             LIBRARY.MAX.SUBDIR, _
  1046.             LIBRARY.SUBDIR.PREFIX$, _
  1047.             LIBRARY.ARCHIVE.PATH$, _
  1048.             LIBRARY.ARCHIVE.PROGRAM$, _
  1049.             LIBRARY.COMMANDS$
  1050. 4800  WRITE #1,UPLOAD.PATH$, _
  1051.             FMS.DIRECTORY$, _
  1052.             ANS.MENU$, _
  1053.             REQUIRED.QUESTIONNAIRE$, _
  1054.             REMEMBER.NEW.USERS, _
  1055.             SURVIVE.NOUSER.ROOM, _
  1056.             PROMPT.HASH$, _
  1057.             START.HASH, _
  1058.             LEN.HASH, _
  1059.             PROMPT.INDIV$, _
  1060.             START.INDIV, _
  1061.             LEN.INDIV
  1062. 4850  WRITE #1,BYPASS.MSGS, _
  1063.             MUSIC, _
  1064.             RESTRICT.BY.DATE, _
  1065.             DAYS.TO.WARN, _
  1066.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  1067.             VOICE.TYPE, _
  1068.             RESTRICT.VALID.CMDS, _
  1069.             NEW.USER.DEFAULT.MODE, _
  1070.             NEW.USER.LINE.FEEDS, _
  1071.             NEW.USER.NULLS, _
  1072.             FAST.FILE.LIST$, _
  1073.             FAST.FILE.LOCATOR$, _
  1074.             MESSAGES.CAN.GROW, _
  1075.             WRAP.CALLERS.FILE$, _
  1076.             REDIRECT.IO.METHOD, _
  1077.             AUTO.UPGRADE.SEC, _
  1078.             HALT.ON.ERROR, _
  1079.             NEW.PUBLIC.MSGS.SECURITY, _
  1080.             NEW.PRIVATE.MSGS.SECURITY, _
  1081.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  1082.             SL.CATEGORIZE.UPLOADS, _
  1083.             BAUDOT, _
  1084.             TIME.TO.DROP.TO.DOS, _
  1085.             EXPIRED.SECURITY, _
  1086.             DTR.DROP.DELAY, _
  1087.             ASK.IDENTITY, _
  1088.             MAX.REG.SEC, _
  1089.             BUFFER.SIZE, _
  1090.             MLCOM, _
  1091.             SHOOT.YOURSELF, _
  1092.             EXTENSION.LIST$, _
  1093.             NEW.USER.DEFAULT.PROTOCOL$, _
  1094.             NEW.USER.GRAPHICS$, _
  1095.             NET.MAIL$, _
  1096.             MASTER.DIRECTORY.NAME$, _
  1097.             PROTO.DEF$, _
  1098.             UPCAT.HELP$, _
  1099.             ALWAYS.STREW.TO$, _
  1100.             LAST.NAME.PROMPT$
  1101.       MSB = LSB + 1
  1102.       LINE.CONTROL.REGISTER = LSB + 3
  1103.       MODEM.CONTROL.REGISTER = LSB + 4
  1104.       LINE.STATUS.REGISTER = LSB + 5
  1105.       MODEM.STATUS.REGISTER = LSB + 6
  1106. 4900  WRITE #1,PERSONAL.DRVPATH$, _
  1107.             PERSONAL.DIR$, _
  1108.             PERSONAL.BEGIN, _
  1109.             PERSONAL.LEN, _
  1110.             PERSONAL.PROTOCOL$, _
  1111.             PERSONAL.CONCAT, _
  1112.             PRIVATE.READ.SEC, _
  1113.             PUBLIC.READ.SEC, _
  1114.             SEC.CHANGE.MSG, _
  1115.             KEEP.INIT.BAUD, _
  1116.             MAIN.PUI$, _
  1117.             DEFAULT.ECHOER$, _
  1118.             HOST.ECHO.ON$, _
  1119.             HOST.ECHO.OFF$, _
  1120.             SWITCH.BACK, _
  1121.             DEFAULT.LINE.ACK$, _
  1122.             ALTDIR.EXTENSION$, _
  1123.             DIRECTORY.PREFIX$
  1124. 4950  WRITE #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  1125.             MODEM.INIT.WAIT.TIME, _
  1126.             MODEM.COMMAND.DELAY.TIME, _
  1127.             TURBO.RBBS, _
  1128.             DNLD.SUB, _
  1129.             WILL.SUBDIRS.B.USED, _
  1130.             UPLOAD.TO.SUBDIR, _
  1131.             DOWNLOAD.TO.SUBDIR, _
  1132.             UPLOAD.SUBDIR$, _
  1133.             MIN.OLDCALLER.BAUD, _
  1134.             MAX.WORK.VAR, _
  1135.             DISKFULL.GO.OFFLINE, _
  1136.             EXTENDED.LOGGING, _
  1137.             USER.RESET.COMMAND$, _
  1138.             USER.COUNT.RINGS.COMMAND$, _
  1139.             USER.ANSWER.COMMAND$, _
  1140.             USER.GO.OFFHOOK.COMMAND$, _
  1141.             DISK.FOR.DOS$, _
  1142.             DUMB.MODEM, _
  1143.             COMMENTS.AS.MESSAGES, _
  1144.             LSB, _
  1145.             MSB, _
  1146.             LINE.CONTROL.REGISTER, _
  1147.             MODEM.CONTROL.REGISTER, _
  1148.             LINE.STATUS.REGISTER, _
  1149.             MODEM.STATUS.REGISTER
  1150. 4980  WRITE #1,KEEP.TIME.CREDITS, _
  1151.             XON.XOFF, _
  1152.             ALLOW.CALLER.TURBO, _
  1153.             USE.DEVICE.DRIVER$, _
  1154.             PRELOG$, _
  1155.             NEW.USER.QUESTIONNAIRE$, _
  1156.             EPILOG$, _
  1157.             REGISTRATION.PROGRAM$, _
  1158.             QUES.PATH$, _
  1159.             USER.LOCATION$, _
  1160.             USER.INITIALIZE.COMMAND$, _
  1161.             USER.FIRMWARE.CLEAR.CMND$, _
  1162.             USER.FIRMWARE.WRITE.CMND$, _
  1163.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  1164.             SIZE.OF.STACK, _
  1165.             SECURITY.EXEMPT.FROM.EPILOG, _
  1166.             USE.BASIC.WRITES, _
  1167.             DOSANSI, _
  1168.             ESCAPE.INSECURE, _
  1169.             USE.DIR.ORDER, _
  1170.             ADD.DIR.SECURITY, _
  1171.             MAX.EXTENDED.LINES, _
  1172.             ORIG.COMMANDS$
  1173.       IF MACRO.EXTENSION$ <> "" AND _
  1174.          INSTR(MACRO.EXTENSION$,".") <> 1 THEN _
  1175.          MACRO.EXTENSION$ = "." + MACRO.EXTENSION$
  1176.       WRITE #1,LOGON.MAIL.LEVEL$, _
  1177.             MACRO.DRVPATH$, _
  1178.             MACRO.EXTENSION$, _
  1179.             EMPHASIZE.ON.DEF$, _
  1180.             EMPHASIZE.OFF.DEF$, _
  1181.             FG.1.DEF$, _
  1182.             FG.2.DEF$, _
  1183.             FG.3.DEF$, _
  1184.             FG.4.DEF$, _
  1185.             SECVIO.HLP$, _
  1186.             FOSSIL, _
  1187.             MAX.CARRIER.WAIT, _
  1188.             CALLER.BKGRD, _
  1189.             SMART.TEXT, _
  1190.             TIME.LOCK, _
  1191.             WRITE.BUF.DEF, _
  1192.             SEC.KILL.ANY, _
  1193.             DOORS.DEF$, _
  1194.             SCREEN.OUT.MSG$, _
  1195.             AUTOPAGE.DEF$
  1196.    IF DNLD.SUB <1 OR DNLD.SUB > 99 THEN _
  1197.       GOTO CLOSE.OUT
  1198.    FOR I = 1 TO DNLD.SUB
  1199.       WRITE #1,DNLD$(I)
  1200.    NEXT
  1201.  
  1202. CLOSE.OUT:
  1203. 5000  CLOSE #1
  1204.    LOCATE 13,9
  1205.    PRINT "FINISHED."
  1206.    LOCATE 22,1
  1207.    END
  1208.  
  1209.  
  1210.  
  1211. '
  1212. ' ╔══════════════════════════════════╗
  1213. ' ║ ERROR EXIT - USER ABORTED PROGRAM║
  1214. ' ╚══════════════════════════════════╝
  1215. '
  1216. USER.ABORT:
  1217.       LOCATE 23,1
  1218.       PRINT "User aborted program - EXECUTION CANCELLED"
  1219.       SYSTEM
  1220. '
  1221. ' ╔══════════════════════════════════════════════╗
  1222. ' ║ ERROR HANDLER FOR ANY OPEN/READ/WRITE ERRORS ║
  1223. ' ╚══════════════════════════════════════════════╝
  1224. '
  1225. ErrorHandler:
  1226.    IF ERL = 1000 THEN
  1227.       CALL Line17("ERROR: COULD NOT OPEN INPUT FILE - EXECUTION CANCELLED")
  1228.       SYSTEM
  1229.    END IF
  1230.    IF ERL =  1010 THEN
  1231.       CALL Line17("ERROR READING FILE (Probably not version "+ MID$(Ver$,(Version-1)*6+1,5)+")")
  1232.       SYSTEM
  1233.    END IF
  1234.    IF ERL = 3000 THEN
  1235.       CALL Line17("ERROR: COULD NOT OPEN OUTPUT FILE - EXECUTION CANCELLED")
  1236.       SYSTEM
  1237.    END IF
  1238.    IF ERL >= 4000 AND ERL <= 5000 THEN
  1239.       CALL Line17("ERROR: COULD NOT WRITE OUTPUT FILE - EXECUTION CANCELLED")
  1240.       SYSTEM
  1241.    END IF
  1242.    CALL Line17("ERROR "+STR$(ERR)+" OCCURRED IN LINE "+STR$(ERL)+" - EXECUTION CANCELLED")
  1243.    SYSTEM
  1244.  
  1245.    DATA "           RBBS-PC VERSION 17.3 CONFIGURATION CONVERSION"
  1246.    DATA "Conceived and written by:"
  1247.    DATA "   Doug Azzarito"
  1248.    DATA "   TECHNOLOGY CONSULTANTS of the Palm Beaches, Inc."
  1249.    DATA "   VOICE: (407) 627-9767"
  1250.    DATA "    DATA: (407) 627-6969 627-6862"
  1251.    DATA ""
  1252.    DATA "A limited license is granted to all users of this program"
  1253.    DATA "to use and distribute this program, as long as:"
  1254.    DATA "   1) NO FEE is charged for copying or distributing this program."
  1255.    DATA "   2) This program is NOT distributed in modified form."
  1256.    DATA "   3) The code contained herein is NOT used for any other purpose"
  1257.    DATA "      without obtaining permission from the copyright owner of"
  1258.    DATA "      RBBS-PC"
  1259. '
  1260. ' ╔═════════════════╗
  1261. ' ║ STRTOK FUNCTION ║
  1262. ' ╚═════════════════╝
  1263. '
  1264. FUNCTION StrTok$(Srce$,Delim$)
  1265. STATIC Start%, SaveStr$
  1266.  
  1267.    ' If first call, make a copy of the string.
  1268.    IF Srce$<>"" THEN
  1269.       Start%=1 : SaveStr$=Srce$
  1270.    END IF
  1271.  
  1272.    BegPos%=Start% : Ln%=LEN(SaveStr$)
  1273.    ' Look for start of a token (character that isn't delimiter).
  1274.    WHILE BegPos%<=Ln% AND INSTR(Delim$,MID$(SaveStr$,BegPos%,1))<>0
  1275.       BegPos%=BegPos%+1
  1276.    WEND
  1277.    ' Test for token start found.
  1278.    IF BegPos% > Ln% THEN
  1279.       StrTok$="" : EXIT FUNCTION
  1280.    END IF
  1281.    ' Find the end of the token.
  1282.    EndPos%=BegPos%
  1283.    WHILE EndPos% <= Ln% AND INSTR(Delim$,MID$(SaveStr$,EndPos%,1))=0
  1284.       EndPos%=EndPos%+1
  1285.    WEND
  1286.    StrTok$=MID$(SaveStr$,BegPos%,EndPos%-BegPos%)
  1287.    ' Set starting point for search for next token.
  1288.    Start%=EndPos%
  1289.  
  1290. END FUNCTION
  1291. '
  1292. ' ╔═════════════════╗
  1293. ' ║ BOX SUBROUTINE  ║
  1294. ' ╚═════════════════╝
  1295. '
  1296. SUB box (ybox, xbox, boxrows, boxcols, style)
  1297. ' ybox is the screen row of the upper left corner of the box
  1298. ' xbox is the screen column of the upper left corner of the box
  1299. ' boxrows is the number of rows (must be > 1) for the box
  1300. ' boxcols is the number of cols (must be > 1) for the box
  1301. ' style = 1  single line              2 double line
  1302. '         3  double top,single side   4  double side, single top
  1303. '
  1304.    IF style = 0 THEN EXIT SUB
  1305.    SELECT CASE style
  1306.       CASE 1
  1307.          tl$ = "┌": tr$ = "┐": bl$ = "└": br$ = "┘": hl$ = "─": vl$ = "│"
  1308.       CASE 2
  1309.          tl$ = "╔": tr$ = "╗": bl$ = "╚": br$ = "╝": hl$ = "═": vl$ = "║"
  1310.       CASE 3
  1311.          tl$ = "╒": tr$ = "╕": bl$ = "╘": br$ = "╛": hl$ = "═": vl$ = "│"
  1312.       CASE 4
  1313.          tl$ = "╓": tr$ = "╖": bl$ = "╙": br$ = "╜": hl$ = "─": vl$ = "║"
  1314.       CASE ELSE
  1315.          CLS
  1316.          PRINT "SYNTAX ERROR IN box FUNCTION: Invalid style"
  1317.          SYSTEM
  1318.       END SELECT
  1319.    LOCATE ybox, xbox, 0
  1320.    PRINT tl$ + STRING$(boxcols - 2, hl$) + tr$;
  1321.    FOR i! = ybox + 1 TO ybox + boxrows - 2
  1322.       LOCATE i!, xbox
  1323.       PRINT vl$;
  1324.       LOCATE , xbox + boxcols - 1
  1325.       PRINT vl$;
  1326.       NEXT i!
  1327.    LOCATE ybox + boxrows - 1, xbox, 0
  1328.    PRINT bl$ + STRING$(boxcols - 2, hl$) + br$;
  1329. END SUB
  1330. '
  1331. ' ╔══════════════════════╗
  1332. ' ║ Line 17 Help Display ║
  1333. ' ╚══════════════════════╝
  1334. '
  1335. SUB Line17 (HelpText$)
  1336.    LOCATE 17,6
  1337.    PRINT SPACE$(67);
  1338.    IF LEN(HelpText$) > 67 THEN HelpText$ = LEFT$(HelpText$,67)
  1339.    LOCATE 17,40-INT((LEN(HelpText$)+1)/2)
  1340.    PRINT HelpText$;
  1341.    END SUB
  1342.